# # app.py
# from flask import Flask, request, jsonify, render_template
# import json # 用于更方便地处理数据持久化（可选）
#
# app = Flask(__name__)
#
# # --- 数据存储 ---
# # 使用 Python 字典来模拟数据存储
# # 实际应用中可以考虑使用文件（如 JSON）或数据库
# data_store = {
#     "group_mapping": {
#         "技术交流群": "张三",
#         "学习分享组": "李四",
#     },
#     "keyword_mapping": {
#         "欢迎": "欢迎新成员！",
#         "规则": "请遵守群规...",
#     },
#     "faq_mapping": {
#         "如何提问": "请描述清楚问题背景和您尝试过的步骤。",
#         "资料在哪": "群文件或公告有分享。",
#     }
# }
#
# # --- API 路由 ---
#
# # 首页路由：渲染前端页面
# @app.route('/')
# def index():
#     """渲染主页面"""
#     return render_template('index.html')
#
# # 获取指定模块的所有数据
# @app.route('/api/<module_name>/all', methods=['GET'])
# def get_all_data(module_name):
#     """获取指定模块的所有数据"""
#     if module_name in data_store:
#         return jsonify(data_store[module_name])
#     else:
#         return jsonify({"error": f"模块 '{module_name}' 不存在"}), 404
#
# # 查询数据 (Read)
# @app.route('/api/<module_name>/<key>', methods=['GET'])
# def get_data(module_name, key):
#     """根据键获取指定模块的数据"""
#     if module_name not in data_store:
#         return jsonify({"error": f"模块 '{module_name}' 不存在"}), 404
#     if key in data_store[module_name]:
#         return jsonify({key: data_store[module_name][key]})
#     else:
#         return jsonify({"error": f"键 '{key}' 在模块 '{module_name}' 中不存在"}), 404
#
# # 添加数据 (Create)
# @app.route('/api/<module_name>', methods=['POST'])
# def add_data(module_name):
#     """向指定模块添加新的键值对"""
#     if module_name not in data_store:
#         return jsonify({"error": f"模块 '{module_name}' 不存在"}), 404
#
#     # 从请求的 JSON 数据中获取键和值
#     content = request.json
#     if not content or 'key' not in content or 'value' not in content:
#         return jsonify({"error": "请求数据不完整，需要 'key' 和 'value'"}), 400
#
#     key = content['key']
#     value = content['value']
#
#     if not key: # 不允许空键
#          return jsonify({"error": "键不能为空"}), 400
#
#     if key in data_store[module_name]:
#         return jsonify({"error": f"键 '{key}' 在模块 '{module_name}' 中已存在"}), 409 # 409 Conflict
#
#     data_store[module_name][key] = value
#     # print(f"添加后 {module_name} 数据: {data_store[module_name]}") # 调试输出
#     return jsonify({"success": f"成功添加 '{key}': '{value}' 到模块 '{module_name}'"}), 201 # 201 Created
#
# # 修改数据 (Update)
# @app.route('/api/<module_name>/<key>', methods=['PUT'])
# def update_data(module_name, key):
#     """修改指定模块中指定键的值"""
#     if module_name not in data_store:
#         return jsonify({"error": f"模块 '{module_name}' 不存在"}), 404
#
#     if key not in data_store[module_name]:
#         return jsonify({"error": f"键 '{key}' 在模块 '{module_name}' 中不存在，无法修改"}), 404
#
#     content = request.json
#     if not content or 'value' not in content:
#         return jsonify({"error": "请求数据不完整，需要 'value'"}), 400
#
#     value = content['value']
#     data_store[module_name][key] = value
#     # print(f"修改后 {module_name} 数据: {data_store[module_name]}") # 调试输出
#     return jsonify({"success": f"成功将模块 '{module_name}' 中 '{key}' 的值修改为 '{value}'"})
#
# # 删除数据 (Delete)
# @app.route('/api/<module_name>/<key>', methods=['DELETE'])
# def delete_data(module_name, key):
#     """删除指定模块中的指定键值对"""
#     if module_name not in data_store:
#         return jsonify({"error": f"模块 '{module_name}' 不存在"}), 404
#
#     if key not in data_store[module_name]:
#         return jsonify({"error": f"键 '{key}' 在模块 '{module_name}' 中不存在，无法删除"}), 404
#
#     del data_store[module_name][key]
#     # print(f"删除后 {module_name} 数据: {data_store[module_name]}") # 调试输出
#     return jsonify({"success": f"成功从模块 '{module_name}' 中删除键 '{key}'"})
#
# # --- 运行应用 ---
# if __name__ == '__main__':
#     # debug=True 会在代码修改后自动重启服务，方便开发
#     # host='0.0.0.0' 允许局域网内其他设备访问
#     app.run(debug=True, host='0.0.0.0', port=5000